The general inventive concept described herein pertains to engineering design of physical systems by way of machine operations and by interaction with the machine by a user, typically a system designer. As used herein, a physical system is a set of components interconnected in a particular configuration so as to interoperate in a common purpose. It is to be understood that a system may include sub-systems that themselves meet the criteria of a physical system.
Engineering design, broadly, across the many engineering disciplines, involves the selective interconnection of various system components to transfer energy, or equivalently, to transport matter, therebetween so as to compel a system behavior satisfying a specified design goal. To that end, designers create, modify and analyze a system design in a design environment, such as a computer-aided design (CAD) system, a computer-aided engineering (CAE) system or an electronic design automation (EDA) system through a number of different data abstractions. As used herein, a data abstraction is a mechanism by which a data set is reduced or filtered so that the designer works with an appropriate subset of the data at any one time. For example, certain design tasks require only a subset of a complete data set that corresponds to a context in which the tasks are performed. Accordingly, each design task may have a context in which to perform the task and a data abstraction corresponding to the context in which the task is performed. It is to be understood that design element data underlying different data abstractions thereof refer to the same design element in the system design, but the different data abstractions reveal aspects of the design element that more readily assists the designer to perform different design tasks. For example, designers of electrical circuits may define logical connections and component parameters in a schematic entry context through a logical data abstraction, such as data abstraction presented as a schematic diagram, and may define component placement and physical connections in a layout context through a physical data abstraction, such as a data abstraction presented as a collection of footprints, i.e., the spatial occupancy of the components of the design, laid out as when the components are physically fabricated or assembled. Specific design contexts for physical systems other than electric circuits have corresponding data abstractions that present data in a manner consistent with the physical system or particular engineering design discipline. Generally, logical data abstractions, by which symbolic data of a physical system can be manipulated and physical data abstractions, by which spatial data of the physical system can be manipulated, are implemented in a suitable manner across many physical system design platforms.
As used herein, an operational domain is a set of operating conditions in which and/or by which the physical system is designed to operate. An operational domain may be, for example, atmospheric conditions established by a specific temperature and pressure, or may be a specific operational mode in which the physical system is driven, such as a specific range of electrical signal frequencies driving an electrical circuit. Selection of the operational domain is essential in physical system design since elements from which the physical system is constructed exhibit vastly different behavior across operational domains. Wire segments in an electric circuit, for example, behave according to distributed circuit parameters at frequencies over 500 MHz (referred to collectively herein as radio frequencies, or RF, although the RF operational domain, per se, includes frequencies that are lower than 500 MHz, and frequencies in modern RF circuitry greatly exceed 500 MHz) and behave according to lumped parameters at lower frequencies. As another example, the conduits of a thermodynamic system may have specific dynamic behavior in a particular operational domain, such as high temperature or pressure, which does not manifest itself in other operational domains, such as under standard temperature and pressure (STP) conditions. In varied operational domains, certain parameters of such components, such as the physical dimensions, shape and material from which the components are constructed, have an effect on the energy transfer from one component to another. As such, where these components could be represented in a design system by low-dimensional data (e.g., a single connection between components) in one operational domain, the component data should represent multidimensional properties in an operational domain wherein the components require definition of added parameters in order to function properly in the operational domain. Thus, an automated system design apparatus should afford the system designer with design tools by which the designer may modify the response behavior of components of the physical system, such as by changing the physical structure thereof and/or its surrounding structures. Of course, in doing so, the members connected to the modified components may also require modification so that the system function, as a whole, stays within designed operating tolerances once the change has been made. The design parameters assigned to various elements of a physical system affect system behavior and such assignment is thus an integral part of the design process.
As physical systems become more complex, which is certainly the case for electrical circuits, other design tools are required in a design platform so that the design data is not overwhelming to the designer. Indeed, whereas task automation, for example, has ameliorated certain onerous manual design operations, the designer remains, even today, the key component in a design process. Thus, the degree to which the designer can seamlessly interact with the design apparatus dictates the design time and the expense inherent thereto.
FIG. 1 illustrates a simplified depiction of an exemplary process 100 by which a physical system, in this case an electrical circuit 155, may be physically realized from a design concept 110. The skilled artisan will recognize that the process described with reference to FIG. 1 has similarity to processes that produce physical systems other than electric circuits.
A physical system design typically starts as a concept 110 in the mind of the designer, or designers, represented by designer 115. The designer 115 may interact with a design system 120 to perform various design tasks, as illustrated at interactions 117. By way of the interactions 117 with design system 120, the designer may construct, modify, and verify design data 125 of the physical system 150 that may be ultimately used to fabricate or construct the physical system 150. The design system 120 may be a data processing apparatus executing processing instructions to perform computational, transformational and data presentation processes as directed by the designer 115. Accordingly, a primary function of the design system 120 is to accept input data and design instructions, and present a current state of the design by way of the interactions 117 in a manner that assists the designer in performing the design tasks without losing sight of the design concept 110.
As is illustrated in FIG. 1, the design data 125 may be provided to design data realization system 130, whereby the design data 125 may be processed into a tangible form by which the physical system 150 may be physically fabricated or constructed. The design data realization system 130 produces realization data 135 and provides the realization data to fabrication system 140 by which the physical system 150 is fabricated. The realization data 135 may include data formatted to physically fabricate, for example, circuit component structures 155 on one or more circuit-bearing media 153. Such realization data 135 may include data to construct component and interconnect mask patterns, component placement location data, packaging data, and any other data necessary in a fabrication process to produce the physical system 150, illustrated in FIG. 1 as finished circuit product 150. Other realization data 135 may include milling machine instructions, wiring diagrams, and even blueprints, where the specific form of the realization data is dependent on the physical system 150 being constructed and the fabrication system 140 achieving the construction.
As is known, a machine, in this case the design and fabrication system 118, is not capable of conceptualizing a design 110. Conversely, the designer 115 is not capable of fabricating a complex physical system design, especially when the physical structures forming the physical system are, for example, microscopic, as is the case with modern electrical circuits, without automated processes provided by the machine 100. Thus, a high level of cooperation between a designer 115 and the machine 100 is required to produce complex physical systems. Ultimately, it is in the design of the machine 100 and the mechanisms by which data are transferred between the designer 115 and the machine 100 that dictates the level to which the cooperation is achieved.
Various modern physical systems are extremely complex—comprising numerous complex subsystems spanning multiple technologies. Thus, it is preferable, and often necessary, to partition the overall design into manageable portions. Doing so, however, presents certain challenges, such as synchronizing portions of the design when another portion has been modified and performing simulations and verifications on subsystem designs that rely on other portions of the design still in an earlier design stage. Hence, an incremental design approach, where the portions of the design can be partitioned into small subsystems that are efficiently synchronized with, but verified independently of other portions of the design, can not only decrease the design time, but may also generate reusable portions of the design.
As stated above, certain systems, such as RF circuitry, are performance sensitive to the operational domain in which they operate. In RF circuitry specifically, the physical dimensions and shapes of component structures establish the frequency response of the structure. Thus, prudently designed conductor patterns are used to form functional components in RF circuits, such as capacitors and inductors. In certain design systems, these structures are defined by quantities established during layout. However, functional components are more easily entered into a design during the logical design phase. Moreover, interconnect structures between functional components, at RF frequencies, behave in accordance with parameters established at design time and, as such, incorporating such design elements into a design is more efficiently achieved by way of parameterized components in a schematic data abstraction. Given these mechanisms, the data defining RF circuit designs, and physical systems with analogous requirements, are efficiently managed when partitioned into small sub-circuits, and when the data specifying the sub-circuits can be manipulated through a logical data abstraction thereof.